﻿using EnetaMvc.ApplicationServices;
using EnetaMvc.Azure.Services;
using EnetaMvc.Core.Repositories;
using EnetaMvc.Data.NHibernate;
using EnetaMvc.Data.NHibernate.Repositories;
using EnetaMvc.Infrastructure;
using StructureMap.Configuration.DSL;

namespace EnetaMvc.Registries
{
    public class CloudRegistry : Registry
    {
        public CloudRegistry()
        {
            For<IMapperSession>().Use<NHSession>();
            For<IFileClient>().Use<FileClient>();
            For<IContentService>().Use<ContentService>();
            For<IEventService>().Use<EventService>();
            For<IForumService>().Use<ForumService>();
            For<IFileService>().Use<FileService>();
            For<INewsService>().Use<NewsService>();
            For<IUserService>().Use<UserService>();
            For<IArticleRepository>().Use<ArticleRepository>();
            For<IBlogRepository>().Use<BlogRepository>();
            For<IBlogPostRepository>().Use<BlogPostRepository>();
            For<ICommentRepository>().Use<CommentRepository>();
            For<IContentItemRepository>().Use<ContentItemRepository>();
            For<IEventRepository>().Use<EventRepository>();
            For<IDynamicMenuRepository>().Use<DynamicMenuRepository>();
            For<IForumRepository>().Use<ForumRepository>();
            For<IHtmlAreaRepository>().Use<HtmlAreaRepository>();
            For<IPublishStateRepository>().Use<PublishStateRepository>();
            For<ITagRepository>().Use<TagRepository>();
            For<ITooltipRepository>().Use<TooltipRepository>();
            For<ITagGroupRepository>().Use<TagGroupRepository>();
            For<IUserRepository>().Use<UserRepository>();
            For<ISlaMonitoringLogRepository>().Use<SlaMonitoringLogRepository>();
            For<IHtmlControlRepository>().Use<HtmlControlRepository>();
            For<DynamicMenuRepository>().Use<DynamicMenuRepository>();

        }
    }
}
